﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections.ObjectModel;
using System.Data.Linq.Mapping;
using System.Data.Linq;

namespace VemTransporte.Models.Basica
{
    [Table(Name="Bairro")]
    public class Bairro
    {
        #region ATRIBUTOS
        private int id = 0;
        private string nome;
        private int _CidadeID;
        private EntityRef<Cidade> _cidade;
        private EntitySet<Endereco> enderecos;
        #endregion

        #region PROPRIEDADES
        [Column(Name = "PK_IdBairro", Storage="id", IsDbGenerated=true, IsPrimaryKey=true, AutoSync=AutoSync.OnInsert)]
        public int Id
        {
            get { return id; }
        }

        [Column(Name = "BAI_Nome")]
        public string Nome
        {
            get { return nome; }
            set { nome = value; }
        }

        [Column(Name = "FK_IdCidade")]
        public int CidadeID
        {
            get { return _CidadeID; }
            set { _CidadeID = value; }
        }

        [Association(ThisKey = "CidadeID", Storage = "_cidade")]
        public Cidade Cidade
        {
            get { return _cidade.Entity; }
            set { _cidade.Entity = value; }
        }

        [Association(OtherKey="BairroID", Storage="enderecos")]
        public EntitySet<Endereco> Enderecos
        {
            get { return this.enderecos; }
            set { this.enderecos.Assign(value); }
        }
        #endregion

        #region CONSTRUCTORES
        public Bairro() 
        { 
            this.enderecos = new EntitySet<Endereco>();
            this._cidade = new EntityRef<Cidade>();
        }

        #endregion        
    }
}